/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package cn.kk.fluidcells.ui;

import javax.swing.JOptionPane;

/**
 * 
 * TODO mouse wheel, gamepads, services
 */
public class SettingsPanel extends javax.swing.JPanel {

    private static final long serialVersionUID = -586384174462621534L;
    private final ClosableDialog dialog;
    private int action;

    /**
     * Creates new form Settings
     * 
     * @param dialog
     */
    public SettingsPanel(ClosableDialog dialog) {
        this.dialog = dialog;
        initComponents();
    }

    /**
     * This method is called from within the constructor to initialize the form. WARNING: Do NOT modify this code. The
     * content of this method is always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        btnApply = new javax.swing.JButton();
        btnReset = new javax.swing.JButton();
        pnlPlay = new javax.swing.JPanel();
        sliderSleepFactor = new javax.swing.JSlider();
        lblSlow = new javax.swing.JLabel();
        lblFast = new javax.swing.JLabel();
        lblCycles = new javax.swing.JLabel();
        lblNormal = new javax.swing.JLabel();
        cbCycles = new javax.swing.JComboBox();
        chkCloseAfterPlayed = new javax.swing.JCheckBox();
        pnlTarget = new javax.swing.JPanel();
        chkMousePress = new javax.swing.JCheckBox();
        chkMouseMove = new javax.swing.JCheckBox();
        chkWindow = new javax.swing.JCheckBox();
        chkKeyPress = new javax.swing.JCheckBox();
        chkDateTime = new javax.swing.JCheckBox();
        chkScreenshot = new javax.swing.JCheckBox();
        chkWebcam = new javax.swing.JCheckBox();
        chkAudio = new javax.swing.JCheckBox();
        chkPrinter = new javax.swing.JCheckBox();
        chkSystem = new javax.swing.JCheckBox();
        chkNetwork = new javax.swing.JCheckBox();
        chkClipboard = new javax.swing.JCheckBox();
        pnlHotkeys = new javax.swing.JPanel();
        lblKeyStart = new javax.swing.JLabel();
        cbKeyStart = new javax.swing.JComboBox();
        lblKeyStartPre = new javax.swing.JLabel();
        lblKeyHiddenStart = new javax.swing.JLabel();
        lblKeyHiddenStartPre = new javax.swing.JLabel();
        cbKeyHiddenStart = new javax.swing.JComboBox();
        lblKeyStop = new javax.swing.JLabel();
        lblKeyStopPre = new javax.swing.JLabel();
        cbKeyStop = new javax.swing.JComboBox();
        lblKeyPlay = new javax.swing.JLabel();
        lblKeyPlayPre = new javax.swing.JLabel();
        cbKeyPlay = new javax.swing.JComboBox();
        jPanel5 = new javax.swing.JPanel();
        jCheckBox7 = new javax.swing.JCheckBox();
        jPanel6 = new javax.swing.JPanel();
        jLabel17 = new javax.swing.JLabel();
        jComboBox5 = new javax.swing.JComboBox();
        jLabel18 = new javax.swing.JLabel();
        jComboBox7 = new javax.swing.JComboBox();
        jCheckBox10 = new javax.swing.JCheckBox();
        jCheckBox11 = new javax.swing.JCheckBox();
        jSplitPane1 = new javax.swing.JSplitPane();
        jScrollPane1 = new javax.swing.JScrollPane();
        jTable1 = new javax.swing.JTable();
        jScrollPane2 = new javax.swing.JScrollPane();
        jEditorPane1 = new javax.swing.JEditorPane();

        setName("pnlOptions");

        btnApply.setFont(btnApply.getFont().deriveFont(btnApply.getFont().getStyle() | java.awt.Font.BOLD));
        btnApply.setText("保存");
        btnApply.setToolTipText("保存修改");
        btnApply.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnApplyActionPerformed(evt);
            }
        });

        btnReset.setFont(btnReset.getFont().deriveFont(btnReset.getFont().getStyle() | java.awt.Font.BOLD));
        btnReset.setText("取消");
        btnReset.setToolTipText("丢弃修改");
        btnReset.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnResetActionPerformed(evt);
            }
        });

        pnlPlay.setBorder(javax.swing.BorderFactory.createTitledBorder("播放设置"));

        sliderSleepFactor.setMajorTickSpacing(20);
        sliderSleepFactor.setMaximum(200);
        sliderSleepFactor.setMinorTickSpacing(5);
        sliderSleepFactor.setPaintTicks(true);
        sliderSleepFactor.setSnapToTicks(true);
        sliderSleepFactor.setToolTipText("播放速度");
        sliderSleepFactor.setValue(100);

        lblSlow.setText("慢");

        lblFast.setText("快");

        lblCycles.setText("重复次数");

        lblNormal.setText("正常");

        cbCycles.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "一次", "2 次", "3 次", "5 次", "10 次",
                "20 次", "50 次", "100 次", "500 次", "无限循环" }));

        chkCloseAfterPlayed.setText("播放后关闭程序");
        chkCloseAfterPlayed.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                chkCloseAfterPlayedActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout pnlPlayLayout = new javax.swing.GroupLayout(pnlPlay);
        pnlPlay.setLayout(pnlPlayLayout);
        pnlPlayLayout
                .setHorizontalGroup(pnlPlayLayout
                        .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addGroup(
                                pnlPlayLayout
                                        .createSequentialGroup()
                                        .addContainerGap()
                                        .addGroup(
                                                pnlPlayLayout
                                                        .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                                        .addGroup(
                                                                pnlPlayLayout
                                                                        .createSequentialGroup()
                                                                        .addComponent(lblSlow)
                                                                        .addGap(43, 43, 43)
                                                                        .addComponent(lblNormal)
                                                                        .addPreferredGap(
                                                                                javax.swing.LayoutStyle.ComponentPlacement.RELATED,
                                                                                javax.swing.GroupLayout.DEFAULT_SIZE,
                                                                                Short.MAX_VALUE).addComponent(lblFast)
                                                                        .addContainerGap())
                                                        .addGroup(
                                                                pnlPlayLayout
                                                                        .createSequentialGroup()
                                                                        .addComponent(lblCycles)
                                                                        .addPreferredGap(
                                                                                javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                                                        .addComponent(cbCycles,
                                                                                javax.swing.GroupLayout.PREFERRED_SIZE,
                                                                                javax.swing.GroupLayout.DEFAULT_SIZE,
                                                                                javax.swing.GroupLayout.PREFERRED_SIZE)
                                                                        .addGap(0, 0, Short.MAX_VALUE))))
                        .addComponent(sliderSleepFactor, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)
                        .addGroup(
                                pnlPlayLayout.createSequentialGroup().addComponent(chkCloseAfterPlayed)
                                        .addGap(0, 0, Short.MAX_VALUE)));
        pnlPlayLayout.setVerticalGroup(pnlPlayLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(
                        pnlPlayLayout
                                .createSequentialGroup()
                                .addGroup(
                                        pnlPlayLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                                .addComponent(lblSlow).addComponent(lblFast).addComponent(lblNormal))
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 0,
                                        javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(sliderSleepFactor, javax.swing.GroupLayout.PREFERRED_SIZE,
                                        javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addGroup(
                                        pnlPlayLayout
                                                .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                                .addComponent(lblCycles)
                                                .addComponent(cbCycles, javax.swing.GroupLayout.PREFERRED_SIZE,
                                                        javax.swing.GroupLayout.DEFAULT_SIZE,
                                                        javax.swing.GroupLayout.PREFERRED_SIZE))
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
                                        javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .addComponent(chkCloseAfterPlayed)));

        pnlTarget.setBorder(javax.swing.BorderFactory.createTitledBorder("录制对象"));

        chkMousePress.setText("鼠标按键");
        chkMousePress.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                chkMousePressActionPerformed(evt);
            }
        });

        chkMouseMove.setText("鼠标移动");

        chkWindow.setText("窗口信息");

        chkKeyPress.setText("键盘按键");

        chkDateTime.setText("日期时间");

        chkScreenshot.setText("换窗截图");

        chkWebcam.setText("摄像监视");
        chkWebcam.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                chkWebcamActionPerformed(evt);
            }
        });

        chkAudio.setText("录音监视");
        chkAudio.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                chkAudioActionPerformed(evt);
            }
        });

        chkPrinter.setText("打印任务");
        chkPrinter.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                chkPrinterActionPerformed(evt);
            }
        });

        chkSystem.setText("系统事件");
        chkSystem.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                chkSystemActionPerformed(evt);
            }
        });

        chkNetwork.setText("网络信息");
        chkNetwork.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                chkNetworkActionPerformed(evt);
            }
        });

        chkClipboard.setText("复制黏贴");
        chkClipboard.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                chkClipboardActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout pnlTargetLayout = new javax.swing.GroupLayout(pnlTarget);
        pnlTarget.setLayout(pnlTargetLayout);
        pnlTargetLayout
                .setHorizontalGroup(pnlTargetLayout
                        .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addGroup(
                                pnlTargetLayout
                                        .createSequentialGroup()
                                        .addGroup(
                                                pnlTargetLayout
                                                        .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                                        .addGroup(
                                                                pnlTargetLayout
                                                                        .createSequentialGroup()
                                                                        .addGroup(
                                                                                pnlTargetLayout
                                                                                        .createParallelGroup(
                                                                                                javax.swing.GroupLayout.Alignment.TRAILING)
                                                                                        .addComponent(chkWindow)
                                                                                        .addComponent(chkWebcam)
                                                                                        .addComponent(chkPrinter)
                                                                                        .addComponent(chkNetwork))
                                                                        .addPreferredGap(
                                                                                javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                                                        .addGroup(
                                                                                pnlTargetLayout
                                                                                        .createParallelGroup(
                                                                                                javax.swing.GroupLayout.Alignment.LEADING)
                                                                                        .addComponent(chkScreenshot)
                                                                                        .addComponent(chkAudio)
                                                                                        .addComponent(chkSystem)
                                                                                        .addComponent(chkClipboard)))
                                                        .addGroup(
                                                                pnlTargetLayout
                                                                        .createSequentialGroup()
                                                                        .addComponent(chkMousePress)
                                                                        .addPreferredGap(
                                                                                javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                                                        .addComponent(chkMouseMove))
                                                        .addGroup(
                                                                pnlTargetLayout
                                                                        .createSequentialGroup()
                                                                        .addComponent(chkKeyPress)
                                                                        .addPreferredGap(
                                                                                javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                                                        .addComponent(chkDateTime)))
                                        .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)));
        pnlTargetLayout.setVerticalGroup(pnlTargetLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(
                        pnlTargetLayout
                                .createSequentialGroup()
                                .addGroup(
                                        pnlTargetLayout
                                                .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                                .addComponent(chkMousePress)
                                                .addComponent(chkMouseMove, javax.swing.GroupLayout.DEFAULT_SIZE,
                                                        javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addGroup(
                                        pnlTargetLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                                .addComponent(chkKeyPress).addComponent(chkDateTime))
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addGroup(
                                        pnlTargetLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                                .addComponent(chkWindow).addComponent(chkScreenshot))
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addGroup(
                                        pnlTargetLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                                .addComponent(chkWebcam).addComponent(chkAudio))
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addGroup(
                                        pnlTargetLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                                .addComponent(chkPrinter).addComponent(chkSystem))
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addGroup(
                                        pnlTargetLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                                .addComponent(chkNetwork).addComponent(chkClipboard))));

        pnlHotkeys.setBorder(javax.swing.BorderFactory.createTitledBorder("快捷键"));

        lblKeyStart.setText("开始录制");

        cbKeyStart.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "F1", "F2", "F3", "F4", "F5", "F6",
                "F7", "F8", "F9", "F10", "F11", "F12" }));

        lblKeyStartPre.setText("ALT+");

        lblKeyHiddenStart.setText("隐身录制");

        lblKeyHiddenStartPre.setText("ALT+");

        cbKeyHiddenStart.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "F1", "F2", "F3", "F4", "F5",
                "F6", "F7", "F8", "F9", "F10", "F11", "F12" }));
        cbKeyHiddenStart.setSelectedIndex(11);

        lblKeyStop.setText("停止录制");

        lblKeyStopPre.setText("ALT+");

        cbKeyStop.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "F1", "F2", "F3", "F4", "F5", "F6",
                "F7", "F8", "F9", "F10", "F11", "F12" }));
        cbKeyStop.setSelectedIndex(2);

        lblKeyPlay.setText("播放文件");

        lblKeyPlayPre.setText("ALT+");

        cbKeyPlay.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "F1", "F2", "F3", "F4", "F5", "F6",
                "F7", "F8", "F9", "F10", "F11", "F12" }));
        cbKeyPlay.setSelectedIndex(1);

        javax.swing.GroupLayout pnlHotkeysLayout = new javax.swing.GroupLayout(pnlHotkeys);
        pnlHotkeys.setLayout(pnlHotkeysLayout);
        pnlHotkeysLayout.setHorizontalGroup(pnlHotkeysLayout.createParallelGroup(
                javax.swing.GroupLayout.Alignment.LEADING).addGroup(
                pnlHotkeysLayout
                        .createSequentialGroup()
                        .addGap(6, 6, 6)
                        .addGroup(
                                pnlHotkeysLayout
                                        .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                        .addGroup(
                                                pnlHotkeysLayout
                                                        .createSequentialGroup()
                                                        .addComponent(lblKeyPlay)
                                                        .addPreferredGap(
                                                                javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                                        .addComponent(lblKeyPlayPre)
                                                        .addPreferredGap(
                                                                javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                                        .addComponent(cbKeyPlay,
                                                                javax.swing.GroupLayout.PREFERRED_SIZE,
                                                                javax.swing.GroupLayout.DEFAULT_SIZE,
                                                                javax.swing.GroupLayout.PREFERRED_SIZE))
                                        .addGroup(
                                                pnlHotkeysLayout
                                                        .createSequentialGroup()
                                                        .addComponent(lblKeyStop)
                                                        .addPreferredGap(
                                                                javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                                        .addComponent(lblKeyStopPre)
                                                        .addPreferredGap(
                                                                javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                                        .addComponent(cbKeyStop,
                                                                javax.swing.GroupLayout.PREFERRED_SIZE,
                                                                javax.swing.GroupLayout.DEFAULT_SIZE,
                                                                javax.swing.GroupLayout.PREFERRED_SIZE))
                                        .addGroup(
                                                pnlHotkeysLayout
                                                        .createSequentialGroup()
                                                        .addComponent(lblKeyHiddenStart)
                                                        .addPreferredGap(
                                                                javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                                        .addComponent(lblKeyHiddenStartPre)
                                                        .addPreferredGap(
                                                                javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                                        .addComponent(cbKeyHiddenStart,
                                                                javax.swing.GroupLayout.PREFERRED_SIZE,
                                                                javax.swing.GroupLayout.DEFAULT_SIZE,
                                                                javax.swing.GroupLayout.PREFERRED_SIZE))
                                        .addGroup(
                                                pnlHotkeysLayout
                                                        .createSequentialGroup()
                                                        .addComponent(lblKeyStart)
                                                        .addPreferredGap(
                                                                javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                                        .addComponent(lblKeyStartPre)
                                                        .addPreferredGap(
                                                                javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                                        .addComponent(cbKeyStart,
                                                                javax.swing.GroupLayout.PREFERRED_SIZE,
                                                                javax.swing.GroupLayout.DEFAULT_SIZE,
                                                                javax.swing.GroupLayout.PREFERRED_SIZE)))
                        .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)));
        pnlHotkeysLayout.setVerticalGroup(pnlHotkeysLayout.createParallelGroup(
                javax.swing.GroupLayout.Alignment.LEADING).addGroup(
                pnlHotkeysLayout
                        .createSequentialGroup()
                        .addGroup(
                                pnlHotkeysLayout
                                        .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                        .addComponent(lblKeyStart)
                                        .addComponent(cbKeyStart, javax.swing.GroupLayout.PREFERRED_SIZE,
                                                javax.swing.GroupLayout.DEFAULT_SIZE,
                                                javax.swing.GroupLayout.PREFERRED_SIZE).addComponent(lblKeyStartPre))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(
                                pnlHotkeysLayout
                                        .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                        .addComponent(lblKeyHiddenStart)
                                        .addComponent(lblKeyHiddenStartPre)
                                        .addComponent(cbKeyHiddenStart, javax.swing.GroupLayout.PREFERRED_SIZE,
                                                javax.swing.GroupLayout.DEFAULT_SIZE,
                                                javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(
                                pnlHotkeysLayout
                                        .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                        .addComponent(lblKeyStop)
                                        .addComponent(lblKeyStopPre)
                                        .addComponent(cbKeyStop, javax.swing.GroupLayout.PREFERRED_SIZE,
                                                javax.swing.GroupLayout.DEFAULT_SIZE,
                                                javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(
                                pnlHotkeysLayout
                                        .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                        .addComponent(lblKeyPlay)
                                        .addComponent(lblKeyPlayPre)
                                        .addComponent(cbKeyPlay, javax.swing.GroupLayout.PREFERRED_SIZE,
                                                javax.swing.GroupLayout.DEFAULT_SIZE,
                                                javax.swing.GroupLayout.PREFERRED_SIZE))));

        jPanel5.setBorder(javax.swing.BorderFactory.createEtchedBorder());

        jCheckBox7.setText("启动后直接进入隐身录制");
        jCheckBox7.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jCheckBox7ActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout jPanel5Layout = new javax.swing.GroupLayout(jPanel5);
        jPanel5.setLayout(jPanel5Layout);
        jPanel5Layout.setHorizontalGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(
                        jPanel5Layout
                                .createSequentialGroup()
                                .addComponent(jCheckBox7, javax.swing.GroupLayout.DEFAULT_SIZE,
                                        javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE).addContainerGap()));
        jPanel5Layout.setVerticalGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(
                        jPanel5Layout.createSequentialGroup().addComponent(jCheckBox7)
                                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)));

        jPanel6.setBorder(javax.swing.BorderFactory.createTitledBorder("录制设置"));

        jLabel17.setText("时间限制");

        jComboBox5.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "不限制", "1 分钟", "2 分钟", "5 分钟", "10 分钟",
                "30 分钟", "1 小时", "2 小时", "3 小时", "6 小时", "8 小时", "12 小时", "1 天", "2 天", "3 天", "5 天", "7 天", "14 天" }));

        jLabel18.setText("大小限制");

        jComboBox7.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "不限制", "1 MB", "2 MB", "5 MB", "10 MB",
                "20 MB", "50 MB", "100 MB", "1 GB", "2 GB", "5 GB", "10 GB", "20 GB", "50 GB", "100 GB" }));

        jCheckBox10.setText("录制后关闭程序");

        jCheckBox11.setText("继续录制选定文件");

        javax.swing.GroupLayout jPanel6Layout = new javax.swing.GroupLayout(jPanel6);
        jPanel6.setLayout(jPanel6Layout);
        jPanel6Layout
                .setHorizontalGroup(jPanel6Layout
                        .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addGroup(
                                jPanel6Layout
                                        .createSequentialGroup()
                                        .addGroup(
                                                jPanel6Layout
                                                        .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                                        .addGroup(
                                                                jPanel6Layout
                                                                        .createSequentialGroup()
                                                                        .addContainerGap()
                                                                        .addGroup(
                                                                                jPanel6Layout
                                                                                        .createParallelGroup(
                                                                                                javax.swing.GroupLayout.Alignment.LEADING,
                                                                                                false)
                                                                                        .addGroup(
                                                                                                jPanel6Layout
                                                                                                        .createSequentialGroup()
                                                                                                        .addComponent(
                                                                                                                jLabel18)
                                                                                                        .addPreferredGap(
                                                                                                                javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                                                                                        .addComponent(
                                                                                                                jComboBox7,
                                                                                                                0,
                                                                                                                javax.swing.GroupLayout.DEFAULT_SIZE,
                                                                                                                Short.MAX_VALUE))
                                                                                        .addGroup(
                                                                                                jPanel6Layout
                                                                                                        .createSequentialGroup()
                                                                                                        .addComponent(
                                                                                                                jLabel17)
                                                                                                        .addPreferredGap(
                                                                                                                javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                                                                                        .addComponent(
                                                                                                                jComboBox5,
                                                                                                                javax.swing.GroupLayout.PREFERRED_SIZE,
                                                                                                                javax.swing.GroupLayout.DEFAULT_SIZE,
                                                                                                                javax.swing.GroupLayout.PREFERRED_SIZE))))
                                                        .addComponent(jCheckBox10).addComponent(jCheckBox11))
                                        .addGap(0, 0, Short.MAX_VALUE)));
        jPanel6Layout.setVerticalGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(
                        jPanel6Layout
                                .createSequentialGroup()
                                .addGroup(
                                        jPanel6Layout
                                                .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                                .addComponent(jLabel17)
                                                .addComponent(jComboBox5, javax.swing.GroupLayout.PREFERRED_SIZE,
                                                        javax.swing.GroupLayout.DEFAULT_SIZE,
                                                        javax.swing.GroupLayout.PREFERRED_SIZE))
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addGroup(
                                        jPanel6Layout
                                                .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                                .addComponent(jLabel18)
                                                .addComponent(jComboBox7, javax.swing.GroupLayout.PREFERRED_SIZE,
                                                        javax.swing.GroupLayout.DEFAULT_SIZE,
                                                        javax.swing.GroupLayout.PREFERRED_SIZE))
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(jCheckBox10, javax.swing.GroupLayout.DEFAULT_SIZE,
                                        javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(jCheckBox11)));

        jSplitPane1.setOrientation(javax.swing.JSplitPane.VERTICAL_SPLIT);

        jTable1.setModel(new javax.swing.table.DefaultTableModel(new Object[][] { { null, null, null, null },
                { null, null, null, null }, { null, null, null, null }, { null, null, null, null } }, new String[] {
                "#", "对象", "参数1", "参数2" }) {
            Class[] types = new Class[] { java.lang.String.class, java.lang.String.class, java.lang.Integer.class,
                    java.lang.Integer.class };
            boolean[] canEdit = new boolean[] { false, false, true, true };

            public Class getColumnClass(int columnIndex) {
                return types[columnIndex];
            }

            public boolean isCellEditable(int rowIndex, int columnIndex) {
                return canEdit[columnIndex];
            }
        });
        jTable1.setToolTipText("");
        jScrollPane1.setViewportView(jTable1);

        jSplitPane1.setLeftComponent(jScrollPane1);

        jScrollPane2.setViewportView(jEditorPane1);

        jSplitPane1.setRightComponent(jScrollPane2);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
        this.setLayout(layout);
        layout.setHorizontalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(
                javax.swing.GroupLayout.Alignment.TRAILING,
                layout.createSequentialGroup()
                        .addComponent(jSplitPane1)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(
                                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                                        .addComponent(jPanel6, javax.swing.GroupLayout.DEFAULT_SIZE,
                                                javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                        .addComponent(jPanel5, javax.swing.GroupLayout.DEFAULT_SIZE,
                                                javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                        .addGroup(
                                                javax.swing.GroupLayout.Alignment.TRAILING,
                                                layout.createSequentialGroup()
                                                        .addComponent(btnReset, javax.swing.GroupLayout.DEFAULT_SIZE,
                                                                javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                                        .addPreferredGap(
                                                                javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                                        .addComponent(btnApply, javax.swing.GroupLayout.PREFERRED_SIZE,
                                                                75, javax.swing.GroupLayout.PREFERRED_SIZE))
                                        .addComponent(pnlTarget, javax.swing.GroupLayout.Alignment.TRAILING,
                                                javax.swing.GroupLayout.DEFAULT_SIZE,
                                                javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                        .addComponent(pnlHotkeys, javax.swing.GroupLayout.DEFAULT_SIZE,
                                                javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                        .addComponent(pnlPlay, javax.swing.GroupLayout.DEFAULT_SIZE,
                                                javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))));
        layout.setVerticalGroup(layout
                .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(
                        layout.createSequentialGroup()
                                .addComponent(pnlPlay, javax.swing.GroupLayout.PREFERRED_SIZE,
                                        javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(pnlTarget, javax.swing.GroupLayout.PREFERRED_SIZE,
                                        javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(jPanel6, javax.swing.GroupLayout.PREFERRED_SIZE,
                                        javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(pnlHotkeys, javax.swing.GroupLayout.PREFERRED_SIZE,
                                        javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(jPanel5, javax.swing.GroupLayout.DEFAULT_SIZE, 27, Short.MAX_VALUE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                .addGroup(
                                        layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                                .addComponent(btnReset).addComponent(btnApply)))
                .addComponent(jSplitPane1));
    }// </editor-fold>//GEN-END:initComponents

    private void btnResetActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_btnResetActionPerformed
        action = JOptionPane.CANCEL_OPTION;
        dialog.setVisible(false);
    }// GEN-LAST:event_btnResetActionPerformed

    private void btnApplyActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_btnApplyActionPerformed
        action = JOptionPane.OK_OPTION;
        dialog.setVisible(false);
    }// GEN-LAST:event_btnApplyActionPerformed

    private void chkMousePressActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_chkMousePressActionPerformed
        // TODO add your handling code here:
    }// GEN-LAST:event_chkMousePressActionPerformed

    private void jCheckBox7ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jCheckBox7ActionPerformed
        // TODO add your handling code here:
    }// GEN-LAST:event_jCheckBox7ActionPerformed

    private void chkWebcamActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_chkWebcamActionPerformed
        // TODO add your handling code here:
    }// GEN-LAST:event_chkWebcamActionPerformed

    private void chkAudioActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_chkAudioActionPerformed
        // TODO add your handling code here:
    }// GEN-LAST:event_chkAudioActionPerformed

    private void chkCloseAfterPlayedActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_chkCloseAfterPlayedActionPerformed
        // TODO add your handling code here:
    }// GEN-LAST:event_chkCloseAfterPlayedActionPerformed

    private void chkPrinterActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_chkPrinterActionPerformed
        // TODO add your handling code here:
    }// GEN-LAST:event_chkPrinterActionPerformed

    private void chkSystemActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_chkSystemActionPerformed
        // TODO add your handling code here:
    }// GEN-LAST:event_chkSystemActionPerformed

    private void chkNetworkActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_chkNetworkActionPerformed
        // TODO add your handling code here:
    }// GEN-LAST:event_chkNetworkActionPerformed

    private void chkClipboardActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_chkClipboardActionPerformed
        // TODO add your handling code here:
    }// GEN-LAST:event_chkClipboardActionPerformed

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton btnApply;
    private javax.swing.JButton btnReset;
    private javax.swing.JComboBox cbCycles;
    private javax.swing.JComboBox cbKeyHiddenStart;
    private javax.swing.JComboBox cbKeyPlay;
    private javax.swing.JComboBox cbKeyStart;
    private javax.swing.JComboBox cbKeyStop;
    private javax.swing.JCheckBox chkAudio;
    private javax.swing.JCheckBox chkClipboard;
    private javax.swing.JCheckBox chkCloseAfterPlayed;
    private javax.swing.JCheckBox chkDateTime;
    private javax.swing.JCheckBox chkKeyPress;
    private javax.swing.JCheckBox chkMouseMove;
    private javax.swing.JCheckBox chkMousePress;
    private javax.swing.JCheckBox chkNetwork;
    private javax.swing.JCheckBox chkPrinter;
    private javax.swing.JCheckBox chkScreenshot;
    private javax.swing.JCheckBox chkSystem;
    private javax.swing.JCheckBox chkWebcam;
    private javax.swing.JCheckBox chkWindow;
    private javax.swing.JCheckBox jCheckBox10;
    private javax.swing.JCheckBox jCheckBox11;
    private javax.swing.JCheckBox jCheckBox7;
    private javax.swing.JComboBox jComboBox5;
    private javax.swing.JComboBox jComboBox7;
    private javax.swing.JEditorPane jEditorPane1;
    private javax.swing.JLabel jLabel17;
    private javax.swing.JLabel jLabel18;
    private javax.swing.JPanel jPanel5;
    private javax.swing.JPanel jPanel6;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JScrollPane jScrollPane2;
    private javax.swing.JSplitPane jSplitPane1;
    private javax.swing.JTable jTable1;
    private javax.swing.JLabel lblCycles;
    private javax.swing.JLabel lblFast;
    private javax.swing.JLabel lblKeyHiddenStart;
    private javax.swing.JLabel lblKeyHiddenStartPre;
    private javax.swing.JLabel lblKeyPlay;
    private javax.swing.JLabel lblKeyPlayPre;
    private javax.swing.JLabel lblKeyStart;
    private javax.swing.JLabel lblKeyStartPre;
    private javax.swing.JLabel lblKeyStop;
    private javax.swing.JLabel lblKeyStopPre;
    private javax.swing.JLabel lblNormal;
    private javax.swing.JLabel lblSlow;
    private javax.swing.JPanel pnlHotkeys;
    private javax.swing.JPanel pnlPlay;
    private javax.swing.JPanel pnlTarget;
    private javax.swing.JSlider sliderSleepFactor;
    // End of variables declaration//GEN-END:variables
}
